1. Field
The present disclosure relates generally to communications, and, more specifically, to techniques for decoding codewords received over a communications channel.
2. Background
In a wireless communication system, an RF modulated signal from a transmitter may reach a receiver via a number of propagation paths. The characteristics of the propagation paths typically vary over time due to a number of factors such as fading and multipath. To provide diversity against deleterious path effects and improve performance, multiple transmit and receive antennas may be used. If the propagation paths between the transmit and receive antennas are linearly independent (i.e., a transmission on one path is not a linear combination of the transmissions on the other paths), then the likelihood of correctly receiving a data transmission increases as the number of antennas increases. Generally, diversity increases and performance improves with more transmit and receive antennas.
A multiple-input multiple-output (MIMO) communication system can employ multiple (NT) transmit antennas and multiple (NR) receive antennas for data transmission. A MIMO channel formed by the NT transmit and NR receive antennas may be decomposed into NS independent channels, with NS≦min {NT, NR}. Each of the NS independent channels corresponds to a dimension, and may also be referred to as a spatial subchannel (or a transmission channel) of the MIMO channel. The MIMO system can provide improved performance (e.g., increased transmission capacity) if the additional dimensionalities created by the multiple transmit and receive antennas are utilized.
For a full-rank MIMO channel, where NS=NT≦NR, an independent data stream may be transmitted from each of the NT transmit antennas. The transmitted data streams may experience different channel conditions (e.g., different fading and multipath effects) and may achieve different signal-to-noise-and-interference ratios (SNRs) for a given amount of transmit power. Moreover, if successive interference cancellation (SIC) is used at the receiver to recover the transmitted data streams, then different SNRs may be achieved for the data streams depending on the specific order in which the data streams are recovered. Consequently, each data stream may support a unique data rate. Since channel conditions typically vary with time, the data rate supported by each data stream may also vary with time.
A MIMO design can have multiple modes of operation. In one mode of operation, the transmitter can encode the data transmitted on each spatial layer independently, possibly with different rates. The receiver can employ an SIC algorithm that works as follows: Decode the first layer, and then subtract its contribution from the received signal after re-encoding and multiplying the encoded first layer with an “estimated channel,” then decode the second layer, and so on. This approach means that each successively decoded layer sees increased signal-to-noise ratio (SNR) and hence can support higher rates. In the absence of error propagation, this mode of operation combined with SIC achieves capacity. The disadvantages of this design arise from the burden of “managing” the rates of each spatial layer, in particular (a) increased CQI (channel quality indicator) feedback signaling overhead (one CQI for each layer); (b) increased ACK/NACK messaging (one message for each layer); (c) complications with the Hybrid ARQ (HARQ) scheme, since each layer can terminate at a different transmission; (d) performance sensitivity to channel estimation errors in channels experiencing increased Doppler effect and/or low SNR; and (e) tighter decoding latency requirements since each successive layer cannot be decoded until the prior layers are decoded. In other modes, a common encoding of a single data stream from a single antenna is provided. Alternatively, a transmitter may encode the data on each spatial layer using the same data rate for each layer, and rank prediction may be employed to adapt the number of spatial layers on a packet-by-packet basis depending on the channel conditions and the SNR.
To decode the received codewords, a receiver can employ a low complexity linear receiver such as an MMSE (minimum mean squared error) equalizer for each tone. Alternatively, non-linear receivers such as an ML (maximum likelihood) MIMO decoder can be used to achieve better performance at the cost of a more complex implementation. In particular, the complexity of an ML MIMO decoder is exponential with the rank M and the symbol constellation order Mc. For an overview of prior art decoders for MIMO, see Hochwald and Brink, “Achieving Near-Capacity on a Multiple-Antenna Channel,” IEEE Transactions on Communications, Vol. 51, No. 3, March 2003, the contents of which are herein incorporated by reference in their entirety.